const requireDirectory = require('require-directory');

const Router = require('koa-router');

class InitManager {
  // static 静态方法 
  
  static initCore (app) {
    // 入口方法
    InitManager.app = app;
    // 调用静态方法
    InitManager.initLoadRouters();

  }

  static initLoadRouters () {
    // 为了避免目录改变导致的api地址调用错误，所以使用node.js自带的函数 process.cwd() 来获取文件根目录。
    const apiDirectory = `${process.cwd()}/app/api`;

    requireDirectory(module, apiDirectory, { visit: whenLoadModule });

    function whenLoadModule (obj) {
      if (obj instanceof Router) {
        InitManager.app.use(obj.routes());
      }
    }
  }


}

module.exports = InitManager;
